import java.util.ArrayList;

import org.omg.CORBA.ORB;

import DAO.CategorieDAO;
import DAO.EnchereDAO;
import DAO.ProduitDAO;
import DAO.UtilisateurDAO;
import Encheres.Model.Categorie;
import Encheres.Model.Enchere;
import Encheres.Model.Produit;
import Encheres.Model.User;
import Encheres.service.EnchereServicePOA;

public class EnchereServiceImpl extends EnchereServicePOA {

	private ORB orb;
	
	public void setORB(ORB orb_val) {
	    orb = orb_val; 
	  }
	
	@Override
	public User connectUser(String pseudo, String password) {
		
		try
		{
			UtilisateurDAO userDao = new UtilisateurDAO();
			return userDao.find(pseudo, password);
		}
		catch (Exception e)
		{
			System.out.println("EROOORRRRRRRR !!!!!");
			e.printStackTrace();
			return null;
		}
		
		
	}

	@Override
	public void createEnchere(Enchere enchere) {
		EnchereDAO enchDao = new EnchereDAO();
		enchDao.create(enchere);
		
	}

	@Override
	public void createProduit(Produit produit) {
		ProduitDAO prdDao = new ProduitDAO();
		prdDao.create(produit);
		
	}

	@Override
	public User createUser(User user) {
		UtilisateurDAO usrDao = new UtilisateurDAO();
		return usrDao.create(user);
	}

	@Override
	public Produit[] getAllProduits() {
		ProduitDAO prodDao = new ProduitDAO();
		ArrayList<Produit> list = prodDao.selectAll();
		return list.toArray(new Produit[list.size()]);
	}

	@Override
	public Enchere[] getEncheresByProduit(Produit produit) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public User getUserById(int id) {
		UtilisateurDAO usrDao = new UtilisateurDAO();
		return usrDao.find(id);
	}

	@Override
	public Enchere getMaxEnchereByProduit(Produit produit) {
		EnchereDAO enchDao = new EnchereDAO();
		return enchDao.findMaxEnchereByProduit(produit.getIdProduit());
	}

	@Override
	public Produit getProduitById(int id) {
		ProduitDAO prodDao = new ProduitDAO();
		return prodDao.find(id);
	}

	@Override
	public Categorie[] getAllCategorie() {
		CategorieDAO catDao = new CategorieDAO();
		ArrayList<Categorie> list = catDao.selectAll();
		return list.toArray(new Categorie[list.size()]);
	}

	@Override
	public void createCategorie(Categorie categorie) {
		CategorieDAO catDao = new CategorieDAO();
		catDao.create(categorie);
		
	}

	

}
